# 导包（将接口对象层（api目录）封装的接口类导入进来）
from api.add_cart import AddCartAPI
from api.lite_login import LiteLoginAPI
# 创建测试类
class TestAddCartAPI:
    TOKEN = None
    # 前置处理
    def setup_method(self):
        # 将第一步导入进来的类实例化为一个对象
        self.cart_api = AddCartAPI()
        self.login_api = LiteLoginAPI()
        # 将登录产生的token提取出来
        resp = self.login_api.login(test_data= {"username":"user123",
                                         "password":"user123"})
        TestAddCartAPI.TOKEN = resp.json().get("data")["token"]

    # 后置处理
    def teardown_method(self):
        pass
    # 编写测试用例方法
    # 加购成功
    def test01_success(self):
        cart_thing = {"goodsId": 1181000, "number": 1, "productId": 2}

        resp = self.cart_api.add_cart(token=TestAddCartAPI.TOKEN,
                               test_data=cart_thing)
        # 编写断言判断响应结果是否符合预期
        # 断言状态码是否为200
        assert 200 == resp.status_code
        # 断言errno的值是否为0
        assert 0 == resp.json().get("errno")
        # 断言‘成’是否在响应文本中
        assert '成' in resp.text

    # 加购失败（没有goodsID）
    def test02_without_goodsID(self):
        pass
    # 加购失败（goodsID不存在）
    def test03_goodsID_not_exist(self):
        pass